Events কী এবং কিভাবে কাজ করে?

Web Development - এক্সটিজেএস (ExtJS) - ExtJS Event Management |

Events (ইভেন্টস) হল ইউজার ইন্টারঅ্যাকশনের প্রতি অ্যাপ্লিকেশন প্রতিক্রিয়া জানানোর পদ্ধতি। ExtJS একটি ইভেন্ট-ড্রিভেন ফ্রেমওয়ার্ক, যেখানে বিভিন্ন ইভেন্ট নির্দিষ্ট কম্পোনেন্ট বা UI উপাদানগুলোর সাথে সম্পর্কিত থাকে। যেমন: বাটন ক্লিক করা, ফর্ম সাবমিট করা, মাউসের হোভার করা ইত্যাদি। ExtJS এর ইভেন্ট সিস্টেম আপনাকে এই ধরনের ইউজার ইন্টারঅ্যাকশন সহজেই হ্যান্ডেল করতে সাহায্য করে।


ExtJS এ ইভেন্টস কী?

ইভেন্টস হল ইউজারের অ্যাপ্লিকেশন সঙ্গে ইন্টারঅ্যাকশন করার কাজগুলো, যেমন ক্লিক, হোভার, কীবোর্ড ইনপুট, ড্র্যাগ-এন্ড-ড্রপ ইত্যাদি। এই ধরনের ইভেন্ট গুলি সাধারণত ইউজারের একটি অ্যাকশন (যেমন, বাটন ক্লিক, মাউসের হোভার) বা সিস্টেমের পরিবর্তনের মাধ্যমে তৈরি হয়। ExtJS এই ইভেন্টগুলিকে ইভেন্ট হ্যান্ডলার বা ইভেন্ট লিসেনার এর মাধ্যমে হ্যান্ডল করতে সহায়ক করে।


ExtJS ইভেন্ট সিস্টেমের মৌলিক ধারণা

  1. ইভেন্ট লিসেনার:
    ইভেন্ট লিসেনার হল এমন একটি ফাংশন বা মেথড যা একটি নির্দিষ্ট ইভেন্টের প্রতি প্রতিক্রিয়া জানাতে ব্যবহৃত হয়। যখন নির্দিষ্ট ইভেন্টটি ঘটে, তখন লিসেনারটি চালু হয়।
  2. ইভেন্ট হ্যান্ডলার:
    ইভেন্ট হ্যান্ডলার একটি ফাংশন বা মেথড যা নির্দিষ্ট ইভেন্টের জন্য কার্যকরী প্রতিক্রিয়া প্রদান করে। এটি ইউজারের ইনপুট বা অ্যাকশনের প্রতিক্রিয়া হিসেবে কোনো অ্যাকশন সম্পন্ন করতে ব্যবহৃত হয়।

ExtJS-এ ইভেন্টস হ্যান্ডল করা

ExtJS তে ইভেন্ট হ্যান্ডল করার দুটি প্রধান পদ্ধতি রয়েছে:

  1. listeners কনফিগারেশন:
    প্রতিটি ExtJS কম্পোনেন্টে listeners কনফিগারেশন ব্যবহার করে ইভেন্ট হ্যান্ডল করা যায়। এটি ইভেন্টগুলোকে ম্যানেজ করার জন্য সাধারণত ব্যবহার করা হয়।
  2. addListener মেথড:
    addListener মেথড ব্যবহার করে ইভেন্টের জন্য লিসেনার যোগ করা যায়।

১. listeners কনফিগারেশন

listeners কনফিগারেশন একটি কম্পোনেন্টের জন্য বিভিন্ন ইভেন্ট হ্যান্ডল করার সহজ পদ্ধতি। এটি সাধারণত কম্পোনেন্টের কনফিগারেশনের অংশ হিসেবে ব্যবহৃত হয়।

উদাহরণ:

Ext.create('Ext.Button', {
    text: 'Click Me',
    renderTo: Ext.getBody(),
    listeners: {
        click: function() {
            alert('Button clicked!');
        }
    }
});

এখানে, click ইভেন্টটি হ্যান্ডল করা হয়েছে। যখন বাটনে ক্লিক করা হবে, তখন একটি এলার্ট দেখানো হবে।


২. addListener মেথড

addListener মেথড ব্যবহার করে নির্দিষ্ট ইভেন্টে লিসেনার যোগ করা হয়। এটি আপনাকে কোডের যেকোনো স্থানে ইভেন্ট হ্যান্ডল করার সুবিধা দেয়।

উদাহরণ:

var button = Ext.create('Ext.Button', {
    text: 'Click Me',
    renderTo: Ext.getBody()
});

button.addListener('click', function() {
    alert('Button clicked using addListener!');
});

এখানে, addListener মেথড ব্যবহার করে click ইভেন্ট হ্যান্ডল করা হয়েছে।


ExtJS-এ কিছু সাধারণ ইভেন্ট

  1. click:
    বাটন, ট্যাব, অথবা যেকোনো কম্পোনেন্টে ক্লিক করার ইভেন্ট।
    উদাহরণ:

    listeners: {
        click: function() {
            alert('Button clicked!');
        }
    }
    
  2. change:
    ফর্ম ফিল্ডের মান পরিবর্তিত হলে ইভেন্ট।
    উদাহরণ:

    listeners: {
        change: function(field, newValue, oldValue) {
            console.log('Field value changed from ' + oldValue + ' to ' + newValue);
        }
    }
    
  3. mouseover:
    মাউস একটি কম্পোনেন্টের উপর গেলে ইভেন্ট।
    উদাহরণ:

    listeners: {
        mouseover: function() {
            console.log('Mouse is over the element');
        }
    }
    
  4. keydown এবং keyup:
    কীবোর্ডে চাপ দেওয়া বা ছেড়ে দেওয়া ইভেন্ট।
    উদাহরণ:

    listeners: {
        keydown: function(field, e) {
            console.log('Key pressed: ' + e.getKey());
        }
    }
    

ইভেন্ট প্যারামিটার

প্রতিটি ইভেন্টের সাথে কিছু গুরুত্বপূর্ণ প্যারামিটার পাওয়া যায়:

  1. e: ইভেন্ট অবজেক্ট যা ইভেন্ট সম্পর্কিত তথ্য ধারণ করে (যেমন মাউস পজিশন, কী কোড ইত্যাদি)।
  2. target: যে এলিমেন্টে ইভেন্ট ঘটেছে।
  3. type: ইভেন্টের ধরন (যেমন click, keydown ইত্যাদি)।

ইভেন্ট ডেলিগেশন

ইভেন্ট ডেলিগেশন হল একাধিক এলিমেন্টে একই ইভেন্ট হ্যান্ডল করার একটি পদ্ধতি। এটি সাধারণত ডাইনামিক কম্পোনেন্টের জন্য ব্যবহৃত হয়, যেখানে আপনি একটি প্যারেন্ট কম্পোনেন্টে ইভেন্ট হ্যান্ডলার যুক্ত করেন এবং ইভেন্টটি তার মধ্যে থাকা চাইল্ড এলিমেন্টগুলির উপর প্রয়োগ হয়।

উদাহরণ:

Ext.create('Ext.panel.Panel', {
    title: 'Event Delegation Example',
    renderTo: Ext.getBody(),
    html: '<button class="my-btn">Click Me</button>',
    listeners: {
        click: function(e, target) {
            if (target.className === 'my-btn') {
                alert('Button clicked inside panel');
            }
        }
    }
});

এখানে, প্যানেলটির মধ্যে থাকা বাটন ক্লিক করার জন্য ইভেন্ট ডেলিগেশন ব্যবহার করা হয়েছে।


সারাংশ

  • Events হল ইউজারের অ্যাপ্লিকেশনের সাথে ইন্টারঅ্যাকশন করার পদ্ধতি।
  • ExtJS তে ইভেন্ট হ্যান্ডলিং করার জন্য listeners কনফিগারেশন এবং addListener মেথড ব্যবহৃত হয়।
  • ExtJS ইভেন্ট সিস্টেম আপনাকে click, mouseover, change, keydown ইত্যাদি ইভেন্ট হ্যান্ডল করার সুযোগ দেয়।
  • ইভেন্ট ডেলিগেশন ডাইনামিকভাবে এলিমেন্টে ইভেন্ট হ্যান্ডল করার জন্য ব্যবহৃত হয়।

এটি ExtJS অ্যাপ্লিকেশন ডেভেলপমেন্টের একটি গুরুত্বপূর্ণ অংশ, যা ইউজারের ইন্টারঅ্যাকশন এর উপর ভিত্তি করে অ্যাপ্লিকেশন প্রতিক্রিয়া জানায়।

Content added By
Promotion